package cn.iocoder.yudao.module.system.controller.admin.tradinghours.vo;

import cn.iocoder.yudao.framework.common.pojo.HourRange;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.time.LocalDate;
import java.util.List;

@Schema(description = "管理后台 - 营业时间新增/修改 Request VO")
@Data
public class SystemTradingHoursSaveReqVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "18677")
    private Long id;

    @Schema(description = "星期几(0-6,0表示周日)", requiredMode = Schema.RequiredMode.REQUIRED)
//    @NotNull(message = "星期几(0-6,0表示周日)不能为空")
    private Integer dayOfWeek;

    @Schema(description = "格式: [{\"start\":\"HH:mm\", \"end\":\"HH:mm\"}, ...]", requiredMode = Schema.RequiredMode.REQUIRED)
//    @NotEmpty(message = "格式: [{\"start\":\"HH:mm\", \"end\":\"HH:mm\"}, ...] 不能为空")
//    @JsonDeserialize(using = HourRangeDeserializer.class)
    private List<HourRange> timeRanges;

    @Schema(description = "特殊交易日期", requiredMode = Schema.RequiredMode.REQUIRED)
//    @NotNull(message = "特殊交易日期不能为空")
    private LocalDate tradingDate;

    @Schema(description = "说明", example = "你猜")
    private String description;

    @Schema(description = "类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotNull(message = "类型不能为空")
    private Integer type;
//    @NotNull(message = "模块不能为空")
    private Integer module = 0;

    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "状态不能为空")
    private Integer status;

}